Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- Body language



  Erlang Style Concurrency

Introduction On an evolutionary scale of innovation from one to ten (one being Bloomberg and Citi Group, eight being Google and Cirque Du Soleil, and ten being the company you couldn't imagine in your wildest dreams), the company I work for is about a three1. Being employed by this bastion of ingenuity affords me certain opportunities I can't get elsewhere. For example, every developer gets to interview potential...

   Erlang,Concurrency,Lock,Message,Innovation     2012-01-03 10:44:44

  How Query Optimizer Works in RDBMS

In a previous post, we discussed how the various relational operators are implemented in relational database systems. If you have read that post, you probably still remember that there are a few alternative implementations for every operator. Thus, how should RDBMS determine which algorithm (or implementation) to use? Obviously, to optimize the performance for any query, RDBMS has to select the correct the algorithm based on the query. It would not be desirable to always use the same algori...

   DATABASE,DATABASE DESIGN,DATABASE OPTIMIZATION     2019-04-20 07:26:32

  Supercolliding a PHP array

Did you know that inserting 2^16 = 65536 specially crafted values into a normal PHP array can take 30 seconds? Normally this would take only 0.01 seconds. This is the code to reproduce it: <?php echo '<pre>'; $size = pow(2, 16); // 16 is just an example, could also be 15 or 17 $startTime = microtime(true); $array = array(); for ($key = 0, $maxKey = ($size - 1) * $size; $key <= $maxKey; $key += $size) { $array[$key] = 0; } $endTime = microtime(true); echo 'Inserting...

   PHP,Array,hashtable,Slow,Colliding     2011-12-29 09:02:01

  Uber’s audio recording plan in Brazil and Mexico

Uber has recently come out with a plan to introduce a new feature to its App in Brazil and Mexico. The feature will record the conversations between the driver and the passenger, with their consent. But consent here is a bit tricky. Basically, if the driver decides to turn on the recording feature, they are not obligated to warn the passenger and vice versa. Once the recording has been made and submitted to support for some kind of violation, neither of the two parties will have the ability...

   UBER,SECURITY,PRIVACY,VOICE RECORDING APP,NEW FEATURE     2019-11-21 09:20:36

  "Programmer" is an Overgeneralization

"Beware of bugs in the above code; I have only proved it correct, not tried it." - Donald Knuth Earlier today, I came across a post during a google-fu session that claimed that no one should use the C++ standard library function make_heap, because almost nobody uses it correctly. I immediately started mentally ranting about how utterly ridiculous this claim is, because anyone whose gone to a basic algorithm class would know how to properly use make_heap. Then I started thinking about all the ...

   Programmer,Overgeneration,Overload     2012-03-13 08:13:16

  Javascript Frameworks Are Too Small

A while back I stumbled upon a great post by Jean-Baptiste Queru. It describes the incredible depth of the modern technology stack. Layers upon layers of complex science, hardware, and software, each layer creating a simpler abstraction around the previous. This ultimately enables our paltry human brains to create amazing things that would otherwise be impossible (or really difficult). This is, in my opinion, the lifeblood of modern software development. For some reason, however, when i...

   JavaScript,Framework,Size,Small,jQuery     2012-01-10 07:20:59

  Taking Precautions to Avoid Shady VPN Providers

VPNs or virtual private networks are virtual tunnels that obscure your IP address, routing your internet traffic through a server located in a country of your choice, in an encrypted and anonymous way. Using a VPN allows you to: secure your sensitive data from hackers obscure the IP address so you can see content not available in your country avoid websites you routinely surf (e.g., Facebook) noticing a different IP address when you are traveling, and asking you to verify your identity bypass t...

   VPN,NETWORKING     2019-02-19 07:26:26

  #46 – Why software sucks

No one makes bad software on purpose. No benevolent programmer has ever sat down, planning out weeks of work, with the intention of frustrating people and making them cry. Bad software, or bad anything, happens because making things is hard, making good things doubly so. The three things that make it difficult are: Possessing the diverse skills needed not to suck.Understanding who you’re making the thing for.Orchestrating the interplay of skills, egos and constraints over the course of...

   Software design,Sucks,Software industry     2012-03-19 13:10:37

  JavaScript-style object literals in PHP

The object literal notation in JavaScript looks like: var fido = {name: "Fido", barks: true}; or var fido = {}; fido.name = "Fido"; fido.barks = true; From assoc arrays to objects In PHP you would call that an associative array. $fido = array( 'name' => "Fido", 'barks' => true ); And you can easily make it an object too: $fido = (object)$fido; echo gettype($fido); // "object" Or if you want to start with a blank object and add stuff to it: $fido = (object)array(); or $fido...

   PHP,JavaScript,Object,Function call,Self vs this     2011-11-30 11:11:45

  High performance web apps with C++

It is Christmas over here, and it is time of giving. So I decided to give something back to the community. I guess this is as old as web programming itself. Trying to create C++ web framework. If you search on the web, you can find dozen of guys that had exactly the same idea. I am not different. For one of the previous projects(discontinued now) I created simple web framework in C++. If you like to hack in C++, here it is. Code is provided as-is, as part of larger application. You can ex...

   C++,Web apps,Web framework     2012-01-08 10:06:48